/*
 * *******************************************************************
 *   @项目名称: BHex Android
 *   @文件名称: OtcConfigResponse.java
 *   @Date: 19-1-14 上午10:15
 *   @Author: ppzhao
 *   @Description:
 *   @Copyright（C）: 2019 BlueHelix Inc.   All rights reserved.
 *   注意：本内容仅限于内部传阅，禁止外泄以及用于其他的商业目的.
 *  *******************************************************************
 */

package io.bhex.sdk.otc.bean;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import io.bhex.baselib.network.response.BaseResponse;

public class OtcConfigResponse extends BaseResponse {

    /**
     * orgId : 6001
     * currency : [{"orgId":"6001","currencyId":"CNY"}]
     * token : [{"orgId":"6001","tokenId":"BTC"},{"orgId":"6001","tokenId":"ETH"},{"orgId":"6001","tokenId":"USDT"}]
     * symbol : [{"orgId":"6001","exchangeId":"301","tokenId":"BTC","currencyId":"CNY"},{"orgId":"6001","exchangeId":"301","tokenId":"ETH","currencyId":"CNY"},{"orgId":"6001","exchangeId":"301","tokenId":"USDT","currencyId":"CNY"}]
     * payments : [0,1,2]
     */

    private int orgId;
    private int isShare;
    private List<CurrencyBean> currency;
    private List<TokenBean> token;
    private List<SymbolBean> symbol;
    private List<SymbolBean> allSymbol;
    private List<Integer> payments;
    private List<BankBean> bank;
    private List<SpotSymbolBean> spotSymbol;
    private Map<String,TradeFeeRateBean> tradeFeeRate;

    public int getIsShare() {
        return isShare;
    }

    public void setIsShare(int isShare) {
        this.isShare = isShare;
    }

    public List<BankBean> getBank() {
        return bank;
    }

    public void setBank(List<BankBean> bank) {
        this.bank = bank;
    }

    public int getOrgId() {
        return orgId;
    }

    public void setOrgId(int orgId) {
        this.orgId = orgId;
    }

    public List<CurrencyBean> getCurrency() {
        return currency;
    }

    public void setCurrency(List<CurrencyBean> currency) {
        this.currency = currency;
    }

    public List<TokenBean> getToken() {
        return token;
    }

    public void setToken(List<TokenBean> token) {
        this.token = token;
    }

    public List<SymbolBean> getSymbol() {
        return symbol;
    }

    public void setSymbol(List<SymbolBean> symbol) {
        this.symbol = symbol;
    }

    public List<SymbolBean> getAllSymbol() {
        return allSymbol;
    }

    public void setAllSymbol(List<SymbolBean> allSymbol) {
        this.allSymbol = allSymbol;
    }

    public List<Integer> getPayments() {
        return payments;
    }

    public void setPayments(List<Integer> payments) {
        this.payments = payments;
    }

    public List<SpotSymbolBean> getSpotSymbol() {
        return spotSymbol;
    }

    public void setSpotSymbol(List<SpotSymbolBean> spotSymbol) {
        this.spotSymbol = spotSymbol;
    }

    public Map<String,TradeFeeRateBean> getTradeFeeRate() {
        return tradeFeeRate;
    }

    public void setTradeFeeRate(Map<String,TradeFeeRateBean> tradeFeeRate) {
        this.tradeFeeRate = tradeFeeRate;
    }

    public static class CurrencyBean implements Serializable {
        /**
         * orgId : 6001
         * currencyId : CNY
         */

        private String orgId;
        private String currencyId;
        private String name;
        private String minQuote;
        private String maxQuote;
        private int scale;
        private int amountScale;//法币金额小数位数
        private boolean isLocalSelect;

        public String getOrgId() {
            return orgId;
        }

        public void setOrgId(String orgId) {
            this.orgId = orgId;
        }

        public String getCurrencyId() {
            return currencyId;
        }

        public void setCurrencyId(String currencyId) {
            this.currencyId = currencyId;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getMinQuote() {
            return minQuote;
        }

        public void setMinQuote(String minQuote) {
            this.minQuote = minQuote;
        }

        public String getMaxQuote() {
            return maxQuote;
        }

        public void setMaxQuote(String maxQuote) {
            this.maxQuote = maxQuote;
        }

        public int getScale() {
            return scale;
        }

        public void setScale(int scale) {
            this.scale = scale;
        }

        public boolean isLocalSelect() {
            return isLocalSelect;
        }

        public void setLocalSelect(boolean localSelect) {
            isLocalSelect = localSelect;
        }

        public int getAmountScale() {
            return amountScale;
        }

        public void setAmountScale(int amountScale) {
            this.amountScale = amountScale;
        }
    }

    public static class TokenBean implements Serializable{
        /**
         * orgId : 6001
         * tokenId : BTC
         */

        private String orgId;
        private String tokenId;
        private String minQuote;
        private String maxQuote;
        private int scale;
        private TradeFeeRateBean fee;
        /**
         * upRange : 120
         * downRange : 80
         */

        private String upRange;
        private String downRange;
        /**
         * tokenName : USDT-2
         */

        private String tokenName;


        public String getOrgId() {
            return orgId;
        }

        public void setOrgId(String orgId) {
            this.orgId = orgId;
        }

        public String getTokenId() {
            return tokenId;
        }

        public void setTokenId(String tokenId) {
            this.tokenId = tokenId;
        }

        public String getMinQuote() {
            return minQuote;
        }

        public void setMinQuote(String minQuote) {
            this.minQuote = minQuote;
        }

        public String getMaxQuote() {
            return maxQuote;
        }

        public void setMaxQuote(String maxQuote) {
            this.maxQuote = maxQuote;
        }

        public int getScale() {
            return scale;
        }

        public void setScale(int scale) {
            this.scale = scale;
        }

        public TradeFeeRateBean getFee() {
            return fee;
        }

        public void setFee(TradeFeeRateBean fee) {
            this.fee = fee;
        }

        public String getUpRange() {
            return upRange;
        }

        public void setUpRange(String upRange) {
            this.upRange = upRange;
        }

        public String getDownRange() {
            return downRange;
        }

        public void setDownRange(String downRange) {
            this.downRange = downRange;
        }

        public String getTokenName() {
            return tokenName;
        }

        public void setTokenName(String tokenName) {
            this.tokenName = tokenName;
        }
    }

    public static class SymbolBean implements Serializable {
        /**
         * orgId : 6001
         * exchangeId : 301
         * tokenId : BTC
         * currencyId : CNY
         */

        private String id;
        private String orgId;
        private String exchangeId;
        private String tokenId;
        private String currencyId;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getOrgId() {
            return orgId;
        }

        public void setOrgId(String orgId) {
            this.orgId = orgId;
        }

        public String getExchangeId() {
            return exchangeId;
        }

        public void setExchangeId(String exchangeId) {
            this.exchangeId = exchangeId;
        }

        public String getTokenId() {
            return tokenId;
        }

        public void setTokenId(String tokenId) {
            this.tokenId = tokenId;
        }

        public String getCurrencyId() {
            return currencyId;
        }

        public void setCurrencyId(String currencyId) {
            this.currencyId = currencyId;
        }

    }

    public static class BankBean implements Serializable{
        private String orgId;
        private String bankId;
        private String name;

        public String getOrgId() {
            return orgId;
        }

        public void setOrgId(String orgId) {
            this.orgId = orgId;
        }

        public String getBankId() {
            return bankId;
        }

        public void setBankId(String bankId) {
            this.bankId = bankId;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    private static class SpotSymbolBean implements Serializable{

        /**
         * orgId : 6001
         * exchangeId : 301
         * symbolId : BTCUSDT
         * symbolName : BTCUSDT
         * baseTokenId : BTC
         * baseTokenName : BTC
         * quoteTokenId : USDT
         * quoteTokenName : USDT
         * basePrecision : 0.0001
         * quotePrecision : 0.01
         * minTradeQuantity : 0.0001
         * minTradeAmount : 1
         * minPricePrecision : 0.01
         * digitMerge : 0,0.1,0.01
         * canTrade : true
         */

        private String orgId;
        private String exchangeId;
        private String symbolId;
        private String symbolName;
        private String baseTokenId;
        private String baseTokenName;
        private String quoteTokenId;
        private String quoteTokenName;
        private String basePrecision;
        private String quotePrecision;
        private String minTradeQuantity;
        private String minTradeAmount;
        private String minPricePrecision;
        private String digitMerge;
        private boolean canTrade;
        /**
         * customOrder : 0
         */

        private int customOrder;


        public String getOrgId() {
            return orgId;
        }

        public void setOrgId(String orgId) {
            this.orgId = orgId;
        }

        public String getExchangeId() {
            return exchangeId;
        }

        public void setExchangeId(String exchangeId) {
            this.exchangeId = exchangeId;
        }

        public String getSymbolId() {
            return symbolId;
        }

        public void setSymbolId(String symbolId) {
            this.symbolId = symbolId;
        }

        public String getSymbolName() {
            return symbolName;
        }

        public void setSymbolName(String symbolName) {
            this.symbolName = symbolName;
        }

        public String getBaseTokenId() {
            return baseTokenId;
        }

        public void setBaseTokenId(String baseTokenId) {
            this.baseTokenId = baseTokenId;
        }

        public String getBaseTokenName() {
            return baseTokenName;
        }

        public void setBaseTokenName(String baseTokenName) {
            this.baseTokenName = baseTokenName;
        }

        public String getQuoteTokenId() {
            return quoteTokenId;
        }

        public void setQuoteTokenId(String quoteTokenId) {
            this.quoteTokenId = quoteTokenId;
        }

        public String getQuoteTokenName() {
            return quoteTokenName;
        }

        public void setQuoteTokenName(String quoteTokenName) {
            this.quoteTokenName = quoteTokenName;
        }

        public String getBasePrecision() {
            return basePrecision;
        }

        public void setBasePrecision(String basePrecision) {
            this.basePrecision = basePrecision;
        }

        public String getQuotePrecision() {
            return quotePrecision;
        }

        public void setQuotePrecision(String quotePrecision) {
            this.quotePrecision = quotePrecision;
        }

        public String getMinTradeQuantity() {
            return minTradeQuantity;
        }

        public void setMinTradeQuantity(String minTradeQuantity) {
            this.minTradeQuantity = minTradeQuantity;
        }

        public String getMinTradeAmount() {
            return minTradeAmount;
        }

        public void setMinTradeAmount(String minTradeAmount) {
            this.minTradeAmount = minTradeAmount;
        }

        public String getMinPricePrecision() {
            return minPricePrecision;
        }

        public void setMinPricePrecision(String minPricePrecision) {
            this.minPricePrecision = minPricePrecision;
        }

        public String getDigitMerge() {
            return digitMerge;
        }

        public void setDigitMerge(String digitMerge) {
            this.digitMerge = digitMerge;
        }

        public boolean isCanTrade() {
            return canTrade;
        }

        public void setCanTrade(boolean canTrade) {
            this.canTrade = canTrade;
        }

        public int getCustomOrder() {
            return customOrder;
        }

        public void setCustomOrder(int customOrder) {
            this.customOrder = customOrder;
        }
    }
}
